package com.wang.springbootinit.service;

import com.wang.springbootinit.model.entity.Feedback;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 信息反馈服务接口
 * 定义反馈相关的业务逻辑接口
 */
public interface FeedbackService {
    /**
     * 提交反馈
     * 创建新的反馈记录，设置初始状态为待处理
     *
     * @param feedback 反馈信息
     * @param request HTTP请求对象
     * @return 新创建的反馈ID
     */
    Long submitFeedback(Feedback feedback, HttpServletRequest request);
    
    /**
     * 获取反馈详情
     * 根据ID查询反馈信息
     *
     * @param id 反馈ID
     * @return 反馈详情
     */
    Feedback getFeedbackById(Long id);
    
    /**
     * 获取学生的反馈列表
     * 查询指定学生的反馈记录
     *
     * @param studentId 学生ID
     * @param type 反馈类型（可选）
     * @return 反馈列表
     */
    List<Feedback> getStudentFeedbacks(Long studentId, Integer type);
    
    /**
     * 处理反馈
     * 更新反馈的处理状态和结果
     *
     * @param feedback 反馈信息
     * @return 是否处理成功
     */
    boolean handleFeedback(Feedback feedback);

    List<Feedback> getStudentFeedbacks(HttpServletRequest request);
}